39#ifdef PREINIT_SUPPORTED
43#ifdef MikroCCoreVersion
44 #if MikroCCoreVersion >= 1
49#include "drv_digital_out.h"
50#include "drv_digital_in.h"
73#define BTEZ2_PACKET_CMD_ACTION "/"
74#define BTEZ2_PACKET_CMD_SET "S"
75#define BTEZ2_PACKET_CMD_GET "G"
76#define BTEZ2_PACKET_CMD_PROFILE "."
77#define BTEZ2_PACKET_RESPONSE "@R"
78#define BTEZ2_PACKET_EVENT "@E"
79#define BTEZ2_PACKET_PARAM_DELIMITER ","
80#define BTEZ2_PACKET_END "\r\n"
86#define BTEZ2_CMD_SYS_PING "PING"
87#define BTEZ2_CMD_SYS_REBOOT "RBT"
88#define BTEZ2_CMD_SYS_DUMP "DUMP"
89#define BTEZ2_CMD_SYS_STORE_CONFIG "SCFG"
90#define BTEZ2_CMD_SYS_FACTORY_RESET "RFAC"
91#define BTEZ2_CMD_SYS_QUERY_FW_VERSION "QFV"
92#define BTEZ2_CMD_SYS_QUERY_UNIQUE_ID "QUID"
93#define BTEZ2_CMD_SYS_QUERY_RANDOM_NUM "QRND"
94#define BTEZ2_CMD_SYS_AES_ENCRYPT "AESE"
95#define BTEZ2_CMD_SYS_AES_DECRYPT "AESD"
96#define BTEZ2_CMD_SYS_WRITE_USER_DATA "WUD"
97#define BTEZ2_CMD_SYS_READ_USER_DATA "RUD"
98#define BTEZ2_CMD_SYS_FORCE_HIBERNATION "SLEEP"
99#define BTEZ2_CMD_GAP_CONNECT "C"
100#define BTEZ2_CMD_GAP_CANCEL_CONNECTION "CX"
101#define BTEZ2_CMD_GAP_UPDATE_CONN_PARAMS "UCP"
102#define BTEZ2_CMD_GAP_SEND_CONNUPDATE_RESP "CUR"
103#define BTEZ2_CMD_GAP_DISCONNECT "DIS"
104#define BTEZ2_CMD_GAP_ADD_WHITELIST_ENTRY "WLA"
105#define BTEZ2_CMD_GAP_DELETE_WHITELIST_ENTRY "WLD"
106#define BTEZ2_CMD_GAP_START_ADV "A"
107#define BTEZ2_CMD_GAP_STOP_ADV "AX"
108#define BTEZ2_CMD_GAP_START_SCAN "S"
109#define BTEZ2_CMD_GAP_STOP_SCAN "SX"
110#define BTEZ2_CMD_GAP_QUERY_PEER_ADDRESS "QPA"
111#define BTEZ2_CMD_GAP_QUERY_RSSI "QSS"
112#define BTEZ2_CMD_GAP_QUERY_WHITELIST "QWL"
113#define BTEZ2_CMD_GAP_PHY_UPDATE "UP"
114#define BTEZ2_CMD_SMP_QUERY_BONDS "QB"
115#define BTEZ2_CMD_SMP_DELETE_BOND "BD"
116#define BTEZ2_CMD_SMP_PAIR "P"
117#define BTEZ2_CMD_SMP_QUERY_RANDOM_ADDRESS "QRA"
118#define BTEZ2_CMD_SMP_SEND_PAIRREQ_RESP "PR"
119#define BTEZ2_CMD_SMP_SEND_PASSKEYREQ_RESP "PE"
125#define BTEZ2_CMD_PROTOCOL_PARSE_MODE "PPM"
126#define BTEZ2_CMD_PROTOCOL_ECHO_MODE "PEM"
127#define BTEZ2_CMD_SYS_BT_ADDRESS "BA"
128#define BTEZ2_CMD_SYS_SLEEP_PARAMS "SLP"
129#define BTEZ2_CMD_SYS_TX_POWER "TXP"
130#define BTEZ2_CMD_SYS_UART_PARAMS "TU"
131#define BTEZ2_CMD_SYS_TRANSPORT "T"
132#define BTEZ2_CMD_GAP_DEVICE_NAME "DN"
133#define BTEZ2_CMD_GAP_DEVICE_APPEARANCE "DA"
134#define BTEZ2_CMD_GAP_ADV_DATA "AD"
135#define BTEZ2_CMD_GAP_SR_DATA "SRD"
136#define BTEZ2_CMD_GAP_ADV_PARAMS "AP"
137#define BTEZ2_CMD_GAP_SCAN_PARAMS "SP"
138#define BTEZ2_CMD_GAP_CONN_PARAMS "CP"
139#define BTEZ2_CMD_GAP_EXTENDED_ADV_DATA "EAD"
140#define BTEZ2_CMD_GAP_EXTENDED_SR_DATA "ERD"
141#define BTEZ2_CMD_SMP_PRIVACY_MODE "PRV"
142#define BTEZ2_CMD_SMP_SECURITY_PARAMS "SBP"
143#define BTEZ2_CMD_SMP_FIXED_PASSKEY "FPK"
149#define BTEZ2_CMD_CYSPP_CHECK "CYSPPCHECK"
150#define BTEZ2_CMD_CYSPP_START "CYSPPSTART"
151#define BTEZ2_CMD_CYSPP_SET_PARAMS "CYSPPSP"
152#define BTEZ2_CMD_CYSPP_GET_PARAMS "CYSPPGP"
153#define BTEZ2_CMD_CYSPP_SET_CLIENT_HANDLES "CYSPPSH"
154#define BTEZ2_CMD_CYSPP_GET_CLIENT_HANDLES "CYSPPGH"
155#define BTEZ2_CMD_CYSPP_SET_PACKETIZATION "CYSPPSK"
156#define BTEZ2_CMD_CYSPP_GET_PACKETIZATION "CYSPPGK"
162#define BTEZ2_EVT_SYS_BOOT "BOOT"
163#define BTEZ2_EVT_SYS_ERROR "ERR"
164#define BTEZ2_EVT_SYS_FACTORY_RESET_COMPLETE "RFAC"
165#define BTEZ2_EVT_SYS_FACTORY_TEST_ENTERED "TFAC"
166#define BTEZ2_EVT_SYS_DUMP_BLOB "DBLOB"
167#define BTEZ2_EVT_GAP_WHITELIST_ENTRY "WL"
168#define BTEZ2_EVT_GAP_ADV_STATE_CHANGED "ASC"
169#define BTEZ2_EVT_GAP_SCAN_STATE_CHANGED "SSC"
170#define BTEZ2_EVT_GAP_SCAN_RESULT "S"
171#define BTEZ2_EVT_GAP_CONNECTED "C"
172#define BTEZ2_EVT_GAP_DISCONNECTED "DIS"
173#define BTEZ2_EVT_GAP_CONNECTION_UPDATE_REQUESTED "UCR"
174#define BTEZ2_EVT_GAP_CONNECTION_UPDATED "CU"
175#define BTEZ2_EVT_GAP_PHY_UPDATED "PU"
176#define BTEZ2_EVT_SMP_BOND_ENTRY "B"
177#define BTEZ2_EVT_SMP_PAIRING_REQUESTED "P"
178#define BTEZ2_EVT_SMP_PAIRING_RESULT "PR"
179#define BTEZ2_EVT_SMP_ENCRYPTION_STATUS "ENC"
180#define BTEZ2_EVT_SMP_PASSKEY_DISPLAY_REQUESTED "PKD"
181#define BTEZ2_EVT_SMP_PASSKEY_ENTRY_REQUESTED "PKE"
182#define BTEZ2_EVT_CYSPP_STATUS ".CYSPP"
188#define BTEZ2_PACKET_TYPE_EVENT 0
189#define BTEZ2_PACKET_TYPE_RESPONSE 1
195#define BTEZ2_RSP_TIMEOUT_1000MS 1000
196#define BTEZ2_CMD_TIMEOUT_5000MS 5000
197#define BTEZ2_WAIT_TIMEOUT_5S 5
198#define BTEZ2_WAIT_TIMEOUT_INFINITE 0
205#define BTEZ2_CMD_CODE_BUFFER_SIZE 20
206#define BTEZ2_PAYLOAD_BUFFER_SIZE 200
207#define BTEZ2_TX_DRV_BUFFER_SIZE 200
208#define BTEZ2_RX_DRV_BUFFER_SIZE 500
226#define BTEZ2_MAP_MIKROBUS( cfg, mikrobus ) \
227 cfg.tx_pin = MIKROBUS( mikrobus, MIKROBUS_TX ); \
228 cfg.rx_pin = MIKROBUS( mikrobus, MIKROBUS_RX ); \
229 cfg.cyspp = MIKROBUS( mikrobus, MIKROBUS_AN ); \
230 cfg.rst = MIKROBUS( mikrobus, MIKROBUS_RST ); \
231 cfg.cts = MIKROBUS( mikrobus, MIKROBUS_CS ); \
232 cfg.rts = MIKROBUS( mikrobus, MIKROBUS_INT );
btez2_return_value_t
BT-EZ 2 Click return value data.
Definition btez2.h:306
@ BTEZ2_ERROR_TIMEOUT
Definition btez2.h:309
@ BTEZ2_OK
Definition btez2.h:307
@ BTEZ2_ERROR_CMD
Definition btez2.h:310
@ BTEZ2_ERROR
Definition btez2.h:308
#define BTEZ2_CMD_CODE_BUFFER_SIZE
BT-EZ 2 driver buffer size.
Definition btez2.h:205
#define BTEZ2_TX_DRV_BUFFER_SIZE
Definition btez2.h:207
#define BTEZ2_PAYLOAD_BUFFER_SIZE
Definition btez2.h:206
#define BTEZ2_RX_DRV_BUFFER_SIZE
Definition btez2.h:208
void btez2_set_data_mode(btez2_t *ctx)
BT-EZ 2 set data mode function.
err_t btez2_read_packet(btez2_t *ctx)
BT-EZ 2 read packet function.
void btez2_cmd_get(btez2_t *ctx, uint8_t *cmd, uint8_t *params)
BT-EZ 2 cmd get function.
void btez2_cmd_action(btez2_t *ctx, uint8_t *cmd, uint8_t *params)
BT-EZ 2 cmd action function.
void btez2_cfg_setup(btez2_cfg_t *cfg)
BT-EZ 2 configuration object setup function.
void btez2_cmd_profile(btez2_t *ctx, uint8_t *cmd, uint8_t *params)
BT-EZ 2 cmd profile function.
void btez2_set_cts_pin(btez2_t *ctx, uint8_t state)
BT-EZ 2 set CTS pin function.
void btez2_reset_device(btez2_t *ctx)
BT-EZ 2 reset device function.
err_t btez2_generic_read(btez2_t *ctx, uint8_t *data_out, uint16_t len)
BT-EZ 2 data reading function.
err_t btez2_init(btez2_t *ctx, btez2_cfg_t *cfg)
BT-EZ 2 initialization function.
uint8_t btez2_get_rts_pin(btez2_t *ctx)
BT-EZ 2 get RTS pin function.
void btez2_set_cmd_mode(btez2_t *ctx)
BT-EZ 2 set cmd mode function.
void btez2_cmd_set(btez2_t *ctx, uint8_t *cmd, uint8_t *params)
BT-EZ 2 cmd set function.
void btez2_set_rst_pin(btez2_t *ctx, uint8_t state)
BT-EZ 2 set RST pin function.
err_t btez2_generic_write(btez2_t *ctx, uint8_t *data_in, uint16_t len)
BT-EZ 2 data writing function.
BT-EZ 2 Click configuration object.
Definition btez2.h:281
pin_name_t rts
Definition btez2.h:290
uint32_t baud_rate
Definition btez2.h:293
pin_name_t cts
Definition btez2.h:289
bool uart_blocking
Definition btez2.h:294
uart_data_bits_t data_bit
Definition btez2.h:295
pin_name_t tx_pin
Definition btez2.h:284
pin_name_t rx_pin
Definition btez2.h:283
uart_stop_bits_t stop_bit
Definition btez2.h:297
pin_name_t cyspp
Definition btez2.h:287
uart_parity_t parity_bit
Definition btez2.h:296
pin_name_t rst
Definition btez2.h:288
BT-EZ 2 Click response/event packet object.
Definition btez2.h:242
uint8_t payload[BTEZ2_PAYLOAD_BUFFER_SIZE]
Definition btez2.h:247
uint8_t rsp_flag
Definition btez2.h:243
uint8_t command[BTEZ2_CMD_CODE_BUFFER_SIZE]
Definition btez2.h:245
uint8_t command_type
Definition btez2.h:244
uint16_t rsp_result
Definition btez2.h:246
BT-EZ 2 Click context object.
Definition btez2.h:256
btez2_rsp_evt_packet_t evt_pkt
Definition btez2.h:272
uint8_t cmd_buffer[BTEZ2_PAYLOAD_BUFFER_SIZE]
Definition btez2.h:271
uint8_t uart_rx_buffer[BTEZ2_RX_DRV_BUFFER_SIZE]
Definition btez2.h:269
uint8_t uart_tx_buffer[BTEZ2_TX_DRV_BUFFER_SIZE]
Definition btez2.h:270
uart_t uart
Definition btez2.h:266
digital_in_t rts
Definition btez2.h:263
digital_out_t rst
Definition btez2.h:259
digital_out_t cts
Definition btez2.h:260
digital_out_t cyspp
Definition btez2.h:258